package com.lv.service.bean

import android.os.Parcelable
import androidx.annotation.Keep
import com.lv.common.bean.MessageBean
import kotlinx.parcelize.Parcelize

/**
 * 作者： ygx
 * 创建日期：2022/8/11 11:03 PM
 * 签名： 天行健，君子以自强不息；地势坤，君子以厚德载物。
 * -    _              _           _     _   ____  _             _ _
 * -   / \   _ __   __| |_ __ ___ (_) __| | / ___|| |_ _   _  __| (_) ___
 * -  / _ \ | '_ \ / _` | '__/ _ \| |/ _` | \___ \| __| | | |/ _` | |/ _ \
 * - / ___ \| | | | (_| | | | (_) | | (_| |  ___) | |_| |_| | (_| | | (_) |
 * -/_/   \_\_| |_|\__,_|_|  \___/|_|\__,_| |____/ \__|\__,_|\__,_|_|\___/
 *
 * You never know what you can do until you try !
 * ----------------------------------------------------------------
 *
 */
@Parcelize
@Keep
data class OrderPageBean(
    var counts: String?,
    val page: String,
    val pagesize: String,
    val pages: String,
    val items: List<OrderBean>?,
) : Parcelable

@Parcelize
@Keep
data class OrderBean(
    val audit: String,//最近审核人员ID
    val caption: String? = null,
    val code: String,
    val color: String,
    val created: Long,//订单支付时间
    val discount: Double,
    val experience: String,
    val fontColor: String,//0 黑 1 红 2 金
    val id: String,
    val styleid: String,
    val name: String,
    val num: Int,
    val operatingRecord: List<OperatingRecordBean>,//操作记录 index : 1 支付成功  2 退款中  3 已退款  4 已完成
    val bookmessage: List<String>?,
    var wxpayMap: WxpayMapBean? = null,
    val alipay: String? = null,
    val orderid: String,
    val periods: Int,
    val port: String,
    val isdelete: String? = null,
    val price: Int,
    val refundid: String,
    val refundtext: String? = null,
    val payurl: String? = null,
    val sid: String,
    val overdue: String,//卡片使用状态 0 未绑定 1 已绑定 2 绑定过期（用完）
    val started: Long,//卡片绑定开始时间
    val ended: Long,//卡片绑卡结束时间（多卡自动累加）
    var status: String?,//订单状态 0 待支付 1 已支付（可退 + 不可退）2 退款中 3 已退款 4 已完成
    val telid: String,//已绑定的名片ID 不为空就是绑过卡
    val updated: Long,
    val uploadSaler: String,//上传人信息（仅业务员可空）
    val uploadSalerPhone: String,
    val uploadSalerTxaccid: String? = null,
    val uploadSalername: String? = null,
    val userId: String? = null,//买卡人信息
    val userTxaccid: String? = null,
    val year: Int
) : Parcelable

@Parcelize
@Keep
data class OperatingRecordBean(
    val id: String? = null,
    val updatename: String? = null,
    val status: String? = null,
    val text: String? = null,
    val price: Int?,
    val time: Long?,

    ) : Parcelable

@Parcelize
@Keep
data class WxpayMapBean(
    val `package`: String,
    val extData: String,
    val appid: String,
    val sign: String,
    val prepayid: String,
    val partnerid: String,
    val noncestr: String,
    val timestamp: String,

    ) : Parcelable

@Parcelize
@Keep
data class QuanStaticPageBean(
    var counts: Int?,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: Int?,
    val items: List<QuanStaticItemBean>?,
) : Parcelable

@Parcelize
@Keep
data class QuanStaticItemBean(
    var id: String?,
    var userid: String?,
    var isdelete: String?,
    var logo: String?,
    var phone: String?,
    var name: String?,
    var sharenum: Int?,
    var verifynum: Int?,
    var date: String?,
    var type: String?,
    var returncash: Int?,
    var created: Long?,
    var updated: Long?,

    ) : Parcelable

@Parcelize
@Keep
data class CashQuanBean(
    var counts: Int?,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: Int?,
    val items: List<CashQuanItemBean>?,
) : Parcelable


@Parcelize
@Keep
data class CashQuanItemBean(
    var id: String?,
    var drawid: String?,
    var drawname: String?,
    var cpname: String?,
    var drawlogo: String?,
    var drawphone: String?,
    var shareid: String?,
    var sharename: String?,
    var sharelogo: String?,
    var sharephone: String?,
    var type: String?,//0 主券 1 副券
    var dispose: String?,// 0 未使用 1 待审核 2 已使用 3 已过期
    var price: String?,
    var actualprice: Int?,
    var created: Long?,
    var updated: Long?,
    var ended: Long?,
    var iswithdraw: String?,//0 未提现，1 已提现
) : Parcelable

@Parcelize
@Keep
data class CompanyStaticRechargePagesBean(
    var counts: Int?,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: String?,
    val remarks: String?,
    val deptTotal: String?,
    val items: List<CompanyStaticRechargeItemBean>?,
) : Parcelable

@Parcelize
@Keep
data class CompanyStaticRechargeItemBean(
    var id: String?,
    var comlogo: String?,
    var comname: String?,
    var cpyid: String?,
    var price: Double?,//充值金额
    var displaydate: String?,
    val totalprice: Double?,//总计返现
    val totalrechargeprice: Double?,//充值总计
    val actualprice: Double?,//返现金额
) : Parcelable

@Parcelize
@Keep
data class CouponStaticPagesBean(
    var counts: Int?,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: String?,
    val remarks: String?,
    val deptTotal: String?,
    val items: List<CouponStaticItemBean>?,
) : Parcelable


@Parcelize
@Keep
data class CouponStaticItemBean(
    var id: String?,
    var title: String?,
    var messageid: String?,
    var sendid: String?,
    var sendname: String?,
    var claimer: String?,
    var claimerphone: String?,
    var comlogo: String?,
    var comname: String?,
    var comphone: String?,
    var dispose: String?,
    var userid: String?,
    var date: String?,
    var userlogo: String?,
    var username: String?,
    var userphone: String?,
    var port: String?,
    var code: String?,
    var tag: String?,
    var cpyid: String?,
    var caption: String?,
    var isshell: String?,
    var remark: String?,
    var refusetext: String?,
    var zhiid: String?,
    var trading: String?,
    var display: String?,
    var isspecially: String?,
    var type: String?,
    var attachment: List<AttachmentBean>?,
    var process: List<ProcessBean>?,
    var way: String?,
    var price: String?,
    var totalprice: String?,
    var displaydate: String?,
    var actualprice: String?,
    var created: Long?,
    var updated: Long?,
) : Parcelable

@Parcelize
@Keep
data class CashQuanDetailsBean(
    val actualprice: Int?,
    val cpname: String?,
    val cpphone: String?,
    val cpyid: String?,
    val drawname: String?,
    val drawphone: String?,
    val id: String?,
    val price: Int?,
    val process: String?,
    val salername: String?,
    val shareVerifynum: Int?,
    val sharenum: Int?,
    val time: Long?,
    val type: String?,
    val verifynum: Int?,
) : Parcelable

@Parcelize
@Keep
data class CompanyStaticBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: String?,
    val remarks: String?,
    val deptTotal: String?,
    val items: List<CompanyStaticItemBean>?,

    ) : Parcelable

@Parcelize
@Keep
data class CompanyStaticItemBean(
    var comlogo: String?,
    var comname: String?,
    var cpyid: String?,
    var price: String?,
    var actualprice: String?,
    var username: String?,//申请用户
) : Parcelable

@Parcelize
@Keep
data class CompanyStaticCashBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: String?,
    val remarks: String?,
    val deptTotal: String?,
    val items: List<CompanyCashItemBean>?,

    ) : Parcelable

@Parcelize
@Keep
data class CompanyCashItemBean(
    var id: String?,
    var comlogo: String?,
    var comname: String?,
    var comphone: String?,
    var userid: String?,
    var tag: String?,
    var display: String?,
    var attachment: List<AttachmentBean>?,
    var cpyid: String?,
    var username: String?,//申请用户
    var code: String?,//申请用户
    var caption: String?,//申请用户
    var created: Long?,
    val updated: Long?,
    val dispose: String?,
    val price: Double?,
    val actualprice: Double?,
    var isSelected: Boolean? = false,
    var position: Int? = 0,
    var positionChild: Int? = 0,
) : Parcelable


@Parcelize
@Keep
data class CouponDetailsBean(
    var comlogo: String?,
    var comactualprice: String?,//返现总交易金额
    var comsaler: String?,//业务员
    var comcount: String?,//店铺返现次数
    var process: String?,
    var userphone: String?,//用户帐号
    var comname: String?,//店铺名称
    var couponid: String?,// >0 现金券返现 else  返现
    var comphone: String?,//店铺手机号
    var comtotalprice: String?,//店铺返现总金额
    var shellprice: String?,//用户分享返现
    var price: String?,//返现金额
    var usercount: String?,//申请返现次数
    var usertotalprice: String?,//用户返现总金额
    var username: String?,//申请用户
    var comwithdraw: String?,//店铺推广返现总金额（元）
    var comwithdrawactual: String?,//推广返现交易总金额（元）
    var comwithdrawnum: String?,//推广返现次数
    var isspecially: String?,//店铺类型
    var approveList: List<CouponStaticItemBean>?,
    var displayPro: DisplayPro?,
    var dispose: String?,
    var tag: String?,
    var attachment: List<AttachmentBean>?,
    var created: Long?,
) : Parcelable

//class dateprice : ArrayList<SalerAreaBean>()
@Parcelize
@Keep
data class CompanyStaticAnalysisBean(
    var dateprice: List<Double>?,
) : Parcelable

@Parcelize
@Keep
data class ADStaticBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: String?,
    val remarks: String?,
    val specially: String?,
    val items: List<ADBean>?,

    ) : Parcelable


@Parcelize
@Keep
data class ADStaticDetailsPageBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: String?,
    val remarks: String?,
    val specially: String?,
    val items: List<ADStaticDetailsBean>?,

    ) : Parcelable

@Parcelize
@Keep
data class ADBean(
    var id: Int?,
    var name: String?,
    var adname: String?,
    var phone: String?,
    var contract: String?,
    var image: String?,
    var price: Int?,
    var uploadsalername: String?,
    var position: String?,
    var created: Long?,
    var ended: Long?,
    var status: String?,
    var url: String?,
    var remarks: String?,
    var province: String?,
    var type: String?,
    var jump: String?,
    var tag: String?,
    var startup: Int?,
    var spuList: List<GoodsItemBean>?,
) : Parcelable

@Parcelize
@Keep
data class ADMoreBean(
    val adlist1: List<ADBean>,
    val adlist2: List<ADBean>
) : Parcelable

@Parcelize
@Keep
data class ADTotalBean(
    var hits: Int?,//点击量
    var exposure: Int?,//曝光量
    var ratio: String?,
    var date: String?,

    ) : Parcelable

@Parcelize
@Keep
data class ADStaticDetailsBean(
    var total: ADTotalBean?,
    var ad: ADBean?,
    var annual: List<ADTotalBean>?,

    ) : Parcelable

@Parcelize
@Keep
data class ComStatisticItemBean(
    val actualprice: String?,
    val caption: String?,
    val claimer: String?,
    val claimerphone: String?,
    val code: String?,
    val userlogo: String?,
    val comlogo: String?,
    val comname: String?,
    val comphone: String?,
    val cpyid: String?,
    val created: Long,
    val date: String?,
    val display: String?,
    val displaydate: String?,
    val dispose: String?,
    val id: String?,
    val isshell: String?,
    val isspecially: String?,
    val messageid: String?,
    val port: String?,
    val price: String?,
    val process: List<ProcesBean>?,
    val refusetext: String?,
    val remark: String?,
    val sendid: String?,
    val sendname: String?,
    val tag: String?,
    val title: String?,
    val totalprice: String?,
    val trading: String?,
    val type: String?,
    val updated: Long?,
    val userid: String?,
    val username: String?,
    val userphone: String?,
    val way: String?,
    val zhiid: String?,
) : Parcelable

@Parcelize
@Keep
data class ProcesBean(
    val created: Long?,
    val dispose: String?,
    val logo: String?,
    val name: String?,
    val role: String?,
    val salerid: String?,
    val updated: Long?
) : Parcelable

@Parcelize
@Keep
data class ADStaticTopBean(
    var communicationnum: Int?,
    var callnum: Int?,
    var accessnum: Int?,
) : Parcelable

@Parcelize
@Keep
data class StatisticsBean(
    var statistics: List<Int>?,
) : Parcelable

@Parcelize
@Keep
data class ComStatisticBean(
    val attached: String?,
    val counts: Int,
//    val deptTotal: Double,
    val items: List<ComStatisticItemBean>?,
    val page: Int,
    val pages: Int,
    val pagesize: Int,
    val remarks: String?,
    val specially: String?,
    val time: Long?,
) : Parcelable

@Parcelize
@Keep
data class GoldChangePageBean(
    val cpyid: String?,
//    val deptTotal: Double,
    val change: List<CompanyCashItemBean>?,
    val comname: String?,
    val uploadSalername: String?,
) : Parcelable

@Parcelize
@Keep
data class BalanceRechargeBean(
    val cpyid: String?,
    val salerid: String?,
    val salername: String?,
    val balance: Double?,
    val totalprice: Double?,
    val totalrechargeprice: Double?,
    val comlogo: String?,
    val comname: String?,
    val comphone: String?,
) : Parcelable

@Parcelize
@Keep
data class BalanceRechargePageBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: String?,
    val remarks: String?,
    val specially: String?,
    val items: List<BalanceRechargeDetailsBean>?,

    ) : Parcelable


@Parcelize
@Keep
data class BalanceRechargeDetailsBean(
    val id: String?,
    val cpyid: String?,
    val date: String?,
    val year: Int?,
    val month: Int?,
    val day: Int?,
    val type: String?,
    val created: Long?,
    val updated: Long?,
    val balance: Int?,
    val explain: String?,
    val price: Int?,
    val dispose: String?,

    ) : Parcelable


@Parcelize
@Keep
data class PushStatisticPageBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: PushStatisticItemBean?,
    val remarks: String?,
    val specially: String?,
    val deptTotal: String?,
    val items: List<PushStatisticItemBean>?,

    ) : Parcelable

@Parcelize
@Keep
data class PushStatisticItemBean(
    var name: String?,
    val userid: String?,
    val created: Long?,
    val receiptnum: Int?,//回执
    val appreceiptnum: Int?,//线上回执
    val cashbacknum: Int?,//推广返现
    val addwxnum: Int?,//加微信
    val consultnum: Int?,//电话咨询
    val price: Double?,//交易金额
) : Parcelable


@Parcelize
@Keep
data class JoinStatisticPageBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val attached: JoinStatisticItemBean?,
    val remarks: String?,
    val specially: String?,
    val deptTotal: String?,
    val items: List<JoinStatisticItemBean>?,

    ) : Parcelable

@Parcelize
@Keep
data class JoinStatisticItemBean(
    var name: String?,
    val userid: String?,
    val created: Long?,
    val nearcomnum: Int?,//附近商铺
    val nearpaynum: Int?,//付费
    val nearpayprice: Double?,//付费金额
    val goldpayprice: Double?,//金牌店铺付费金额
    val goldcomnum: Int?,//金牌店铺
    val goldpaynum: Int?,//金牌店铺付费
) : Parcelable










